home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
86xx
/
8606a.d64
/
read vizawrite
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
7KB
|
323 lines
10 PRINT"[147] ********************************"
20 PRINT" * *"
30 PRINT" * READ VIZAWRITE *"
40 PRINT" * *"
50 PRINT" * VON KLAUS HECK *"
60 PRINT" * *"
70 PRINT" ********************************"
80 :
90 REM ------------------------------
100 REM VIZAWRITE-FILE OEFFNEN
110 PRINT" WELCHES VIZAWRITE-FILE SOLL EINGELESEN WERDEN"
120 INPUTNA$
130 OPEN15,8,15
140 OPEN1,8,5,NA$+",P,R"
150 GOSUB3190
160 PRINT" TEXTAUSGABE AUF BILDSCHIRM : 3"
170 PRINT" TEXTAUSGABE AUF SEQ-DATEI : 8"
180 GETGE$:IFGE$=""THEN180
190 GE=VAL(GE$)
200 IFGE=3THENOPEN2,GE
210 IFGE=8THENOPEN2,GE,2,"@:SEQ "+NA$+",S,W"
220 GOSUB3190
230 IFGE<>3ANDGE<>8THEN160
240 :
250 REM ------------------------------
260 REM UMSCHALTUNG GROSS/KLEIN
270 PRINT"[147]"
280 POKE53272,23
290 :
300 REM ------------------------------
310 REM VORSPANN EINLESEN
320 :
330 REM PRUEFEN AUF VIZAWRITE (0-3)
340 GET#1,A$:IFA$=""THENA$=CHR$(0)
350 GOSUB3190
360 IFASC(A$)<>86THEN3130
370 GET#1,A$:IFA$=""THENA$=CHR$(0)
380 IFASC(A$)<>255THEN3130
390 GET#1,A$:IFA$=""THENA$=CHR$(0)
400 IFASC(A$)<>86THEN3130
410 GET#1,A$:IFA$=""THENA$=CHR$(0)
420 IFASC(A$)<>87THEN3130
430 :
440 REM ANZAHL ZEICHEN (4,5)
450 GET#1,LB$:IFLB$=""THENLB$=CHR$(0)
460 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
470 ZE=ASC(LB$)+ASC(HB$)*256
480 PRINT" [193]NZ. [218]EICHEN IM [212]EXT ";ZE
490 :
500 REM ANZAHL SEITEN (6,7)
510 GET#1,LB$:IFLB$=""THENLB$=CHR$(0)
520 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
530 SE=ASC(LB$)+ASC(HB$)*256
540 SE=SE-2
550 PRINT" [193]NZ. [212]EXTSEITEN ";SE
560 :
570 REM DUMMY (8-14)
580 FORJ=8TO14
590 GET#1,A$:IFA$=""THENA$=CHR$(0)
600 NEXT
610 :
620 REM DATEINAMEN (15-31)
630 I=14:AA$=""
640 GET#1,A$:IFA$=""THENA$=CHR$(0)
650 I=I+1
660 IFASC(A$)=96THEN690
670 AA$=AA$+A$
680 GOTO640
690 PRINT" [198]ILENAME ";AA$
700 I=I+1:IFI>30THEN750
710 FORJ=ITO31
720 GET#1,A$:IFA$=""THENA$=CHR$(0)
730 NEXT
740 :
750 REM PRINTER TYPE (32,33)
760 GET#1,A$:IFA$=""THENA$=CHR$(0)
770 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
780 IFASC(A$)>0ANDASC(A$)<27THENA$=CHR$(ASC(A$)+64):GOTO800
790 IFASC(A$)>64ANDASC(A$)<123THENA$=CHR$(ASC(A$)+128)
800 PRINT" [196]RUCKER [212]YP ";A$
810 :
820 REM DUMMY (34)
830 GET#1,A$:IFA$=""THENA$=CHR$(0)
840 :
850 REM FORM FEED (35)
860 GET#1,A$:IFA$=""THENA$=CHR$(0)
870 A$=CHR$(ASC(A$)+64)
880 PRINT" [198]ORMULAR [214]ORSCHUB ";A$
890 :
900 REM AUTO L/FEED (36)
910 GET#1,A$:IFA$=""THENA$=CHR$(0)
920 IFASC(A$)>0ANDASC(A$)<27THENA$=CHR$(ASC(A$)+64):GOTO940
930 IFASC(A$)>64ANDASC(A$)<123THENA$=CHR$(ASC(A$)+128)
940 PRINT" [193]UTO. [218]EILENVORSCHUB ";A$
950 :
960 REM FORM LENGTH (37,38)
970 GET#1,LB$:IFLB$=""THENLB$=CHR$(0)
980 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
990 D=ASC(LB$)+ASC(HB$)*256
1000 PRINT" [198]ORMULARLAENGE ";D
1010 :
1020 REM SINGLE (39)
1030 GET#1,A$:IFA$=""THENA$=CHR$(0)
1040 A$=CHR$(ASC(A$)+64)
1050 PRINT" [197]INZELBLATT ";A$
1060 :
1070 REM OFFSET (40,41)
1080 GET#1,LB$:IFLB$=""THENLB$=CHR$(0)
1090 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
1100 D=ASC(LB$)+ASC(HB$)*256
1110 PRINT" LINKER [196]RUCKRAND AB ";D
1120 :
1130 REM HEADER (42)
1140 GET#1,A$:IFA$=""THENA$=CHR$(0)
1150 A$=CHR$(ASC(A$)+64)
1160 PRINT" [203]OPFZEILE ";A$
1170 :
1180 REM DUMMY (43)
1190 GET#1,A$:IFA$=""THENA$=CHR$(0)
1200 :
1210 REM PITCH (44,45)
1220 GET#1,LB$:IFLB$=""THENLB$=CHR$(0)
1230 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
1240 D=ASC(LB$)+ASC(HB$)*256
1250 PRINT" [211]CHRIFTART ";D
1260 :
1270 REM LINES/INCH (46,47)
1280 GET#1,LB$:IFLB$=""THENLB$=CHR$(0)
1290 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
1300 D=ASC(LB$)+ASC(HB$)*256
1310 PRINT" [218]EILEN/INCH ";D
1320 :
1330 REM JUSTIFICATION (48)
1340 GET#1,A$:IFA$=""THENA$=CHR$(0)
1350 A$=CHR$(ASC(A$)+64)
1360 PRINT" [210]ANDAUSGLEICH ";A$
1370 :
1380 REM GLOBAL/FILL (49)
1390 GET#1,GF$:IFGF$=""THENGF$=CHR$(0)
1400 IFASC(GF$)=32THEN1420
1410 GF$=CHR$(ASC(GF$)+64)
1420 PRINT" [212]EXT ANH./EINF. ";GF$
1430 :
1440 REM DATEINAMEN (50-66)
1450 I=49:NA$=""
1460 GET#1,A$:IFA$=""THENA$=CHR$(0)
1470 I=I+1
1480 IFASC(A$)=96THEN1530
1490 IFASC(A$)>0ANDASC(A$)<27THENA$=CHR$(ASC(A$)+64):GOTO1510
1500 IFASC(A$)>64ANDASC(A$)<123THENA$=CHR$(ASC(A$)+128)
1510 NA$=NA$+A$
1520 GOTO1460
1530 PRINT" NAECHSTES [198]ILE ";NA$
1540 I=I+1:IFI>65THEN1580
1550 FORJ=ITO66
1560 GET#1,A$:IFA$=""THENA$=CHR$(0)
1570 NEXT
1580 :
1590 REM TEXT COLOUR (67)
1600 GET#1,A$:IFA$=""THENA$=CHR$(0)
1610 D=1:GOSUB2840
1620 PRINT" [198]ARBE [212]EXT ";COL$
1630 :
1640 REM BORDER COLOUR (68)
1650 GET#1,A$:IFA$=""THENA$=CHR$(0)
1660 D=2:GOSUB2840
1670 PRINT" [198]ARBE [210]AHMEN ";COL$
1680 :
1690 REM BACKGROUND COLOUR (69)
1700 GET#1,A$:IFA$=""THENA$=CHR$(0)
1710 D=3:GOSUB2840
1720 PRINT" [198]ARBE [200]INTERGRUND ";COL$
1730 :
1740 REM DUMMY (70-199)
1750 FORJ=70TO199
1760 GET#1,A$:IFA$=""THENA$=CHR$(0)
1770 NEXT
1780 :
1790 PRINT" WEITER ? >J< "
1800 GETJN$:IFJN$=""THEN1800
1810 IFJN$<>"J"THEN2410
1820 PRINT"[147]"
1830 :
1840 REM ------------------------------
1850 REM ALLE SEITEN UEBERNEHMEN ?
1860 IP=-1:REM SEITENZAEHLER
1870 PRINT"[211]OLL [215][207][210][203] [208][193][199][197][160]MIT UEBERTRAGEN WERDEN? >J/N<"
1880 GETJN$:IFJN$=""THEN1880
1890 IFJN$="N"THENWP=0
1900 IFJN$="J"THENWP=1
1910 IFJN$<>"J"ANDJN$<>"N"THEN1870
1920 PRINT"[211]OLL [200][197][193][196][197][210][160][208][193][199][197] MIT UEBERTRAGEN WERDEN? >J/N<"
1930 GETJN$:IFJN$=""THEN1930
1940 IFJN$="N"THENHP=0
1950 IFJN$="J"THENHP=1
1960 IFJN$<>"J"ANDJN$<>"N"THEN1920
1970 PRINT"[211]OLL [198][207][207][212][197][210][160][208][193][199][197] MIT UEBERTRAGEN WERDEN? >J/N<"
1980 GETJN$:IFJN$=""THEN1980
1990 IFJN$="N"THENFP=0
2000 IFJN$="J"THENFP=1
2010 IFJN$<>"J"ANDJN$<>"N"THEN1970
2020 PRINT"[147]"
2030 :
2040 REM ------------------------------
2050 REM TEXT EINLESEN
2060 IFGE=8THENPRINT" [194]ITTE WARTEN ICH ARBEITE"
2070 FL=0:REM SPALTENZAEHLER FORMATZEILE
2080 I=0:REM SPALTENZAEHLER TEXTZEILE
2090 AA$="":REM TEXTZEILE
2100 GET#1,A$:IFA$=""THENA$=CHR$(0)
2110 :
2120 REM ------------------------------
2130 REM BILDSCHIRM-CODE -> ASCII-CODE
2140 IFASC(A$)=220THENAA$=AA$+A$:GOTO2270:REM RETURN
2150 IFASC(A$)=230THEN2730:REM FORMAT LINE
2160 IFASC(A$)=241THEN2490:REM END PAGE
2170 IFASC(A$)=255THEN2310:REM END TEXT
2180 IFASC(A$)>=0ANDASC(A$)<32THENA$=CHR$(ASC(A$)+64):GOTO2210
2190 IFASC(A$)>=64ANDASC(A$)<128THENA$=CHR$(ASC(A$)+128):GOTO2210
2200 :
2210 AA$=AA$+A$:I=I+1:REM ZEILE ZUSAMMENSTELLEN
2220 IFI=FLTHEN2600:REM ZEILE OHNE RETURN ABBRECHEN
2230 GOTO2100
2240 :
2250 REM ------------------------------
2260 REM TEXTZEILE AUSGEBEN
2270 IFWP=1THENPRINT#2,AA$
2280 GOTO2080
2290 :
2300 REM ------------------------------
2310 REM PROGRAMMENDE
2320 IFGF$<>"G"THEN2410:REM CHECK GLOBAL
2330 PRINT"[147] SOLL [198]ILE : "NA$:PRINT" ANGEHAENGT WERDEN? >J/N<"
2340 GETJN$:IFJN$=""THEN2340
2350 IFJN$<>"J"THEN2410
2360 CLOSE1
2370 OPEN1,8,5,NA$+",P,R"
2380 GOSUB3190
2390 PRINT"[147]"
2400 GOTO310
2410 POKE53272,21:REM GROSS/GRAFIK
2420 CLOSE2
2430 CLOSE1
2440 CLOSE15
2450 END
2460 :
2470 REM ------------------------------
2480 REM SEITENUEBERNAHME SCHALTEN
2490 IFWP=1ANDI<>0THENPRINT#2,AA$
2500 AA$=A$
2510 IFIP=-1ANDWP=0THENAA$=""
2520 IP=IP+1
2530 WP=1:REM WIRD ALS SCHALTER BENUTZT
2540 IFIP=SEANDHP=0THENWP=0
2550 IFIP=SE+1ANDFP=0THENWP=0
2560 GOTO2270
2570 :
2580 REM ------------------------------
2590 REM ZEILENENDE BESTIMMEN
2600 FI=FL
2610 IFMID$(AA$,FI,1)=" "ORMID$(AA$,FI,1)="-"THEN2660
2620 FI=FI-1
2630 IFFI=1THEN2650
2640 GOTO2610
2650 FI=FL
2660 PRINT#2,LEFT$(AA$,FI)
2670 I=FL-FI
2680 AA$=RIGHT$(AA$,I)
2690 GOTO2100
2700 :
2710 REM ------------------------------
2720 REM LAENGE DER FORMATZEILE BEST.
2730 FL=1
2740 TAB=0:REM ERSTEN TABULATOR FINDEN
2750 AA$=AA$+A$
2760 GET#1,A$:IFA$=""THENA$=CHR$(0)
2770 AA$=AA$+A$:FL=FL+1
2780 IFTAB=0ANDASC(A$)=219THENFL=0:TAB=1
2790 IFASC(A$)=220THEN2270:REM RETURN
2800 GOTO2760
2810 :
2820 REM ------------------------------
2830 REM FARBE BESTIMMEN
2840 A=ASC(A$)
2850 IFD=1THEN2870
2860 IFD=2THENA=A-240
2870 IFA=0THENCOL$="SCHWARZ"
2880 IFA=1THENCOL$="WEISS"
2890 IFA=2THENCOL$="ROT"
2900 IFA=3THENCOL$="TUERKIS"
2910 IFA=4THENCOL$="VIOLETT"
2920 IFA=5THENCOL$="GRUEN"
2930 IFA=6THENCOL$="BLAU"
2940 IFA=7THENCOL$="GELB"
2950 IFA=8THENCOL$="ORANGE"
2960 IFA=9THENCOL$="BRAUN"
2970 IFA=10THENCOL$="HELLROT"
2980 IFA=11THENCOL$="GRAU 1"
2990 IFA=12THENCOL$="GRAU 2"
3000 IFA=13THENCOL$="HELLGRUEN"
3010 IFA=14THENCOL$="HELLBLAU"
3020 IFA=15THENCOL$="GRAU 3"
3030 IFA=16THENCOL$="SCHWARZ"
3040 IFA=17THENCOL$="WEISS"
3050 IFA=18THENCOL$="ROT"
3060 IFA=35THENCOL$="TUERKIS"
3070 IFA=36THENCOL$="VIOLETT"
3080 IFA=53THENCOL$="GRUEN"
3090 RETURN
3100 :
3110 REM ------------------------------
3120 REM FEHLERBEHANDLUNG
3130 PRINT" FEHLER !!!"
3140 PRINT" DIES IST KEIN DURCH VIZAWRITE ERSTELLTER TEXT"
3150 GOTO2410
3160 :
3170 REM ------------------------------
3180 REM FEHLERKANAL LESEN
3190 INPUT#15,FW,FX$,FY,FZ
3200 IFFW=0THENRETURN
3210 PRINT" FEHLER: ";FW;FX$
3220 GOTO2410